package ResultObject;

##########################
#     OmnibusProxy       #
#    Krzysztof Ulman     #
# Politechnika Krakowska #
#      Kraków 2012       #
##########################

use strict;
use warnings;
use utf8;
use encoding 'utf8';

use URI::Escape;

#tutul strony
#my $title;

#adres URL
#my $url;

#pozycja na stronie
#my $position;

#konstruktor
#obiekt przechowujacy pojedynczy wynik zwrocony przez wyszukiwarke
sub new {
	shift;
	my $self = {};
	bless $self;
	
	my $title = shift;
	my $url = shift;
	my $position = shift;
	$self->{title} = $title;
	$self->{url} = private_manageUrl($url);
	$self->{position} = $position;
	
	return $self;
}

sub manageUrl {
	my $class = shift;
	my $url = shift;
	return private_manageUrl($url);
}

#usuwa nadmiarowe znaki z adresu
sub private_manageUrl {
	my $url = shift;
	#odkodowanie
#	$url = uri_unescape($url);
#	#upgrade do UTFa
#	utf8::encode($url);
	#usuniecie przedrostka http:// - szkoda marnowac miejsce na jego przetrzymywanie
	if($url =~ /^http:\/\//) {
		$url = substr($url, 7, length($url));
	}
	#usuniecie przedrostka https:// - j.w. - usuniecie to nie problem bo witryna sama przekierowuje na https
	if($url =~ /^https:\/\//) {
		$url = substr($url, 8, length($url));
	}
	#usuniecie ostatniego slasha, ktory nic nie wnosi
	if($url =~ /\/$/) {
		$url = substr($url, 0, length($url) - 1);
	}
	return $url;
}

sub getTitle() {
	my $self = shift;
	return $self->{title};
}

sub getUrl() {
	my $self = shift;
	return $self->{url};
}

sub getPosition() {
	my $self = shift;
	return $self->{position};
}

1;